﻿using TrackSystem.Entities.Dtos.Slave;
using TrackSystem.Entities.Models;
using TrackSystem.Entities.RequestFeatures;

namespace TrackSystem.Contracts;

public interface ISlaveRepository : IRepository<SlaveTable, int>
{
    PagedList<SlaveTable> GetPagedSlaves(RequestParameter parameter);

    Task<ApiResult<SlaveDto>>  GetSingleSlaveAsync(int id);

    Task<ApiResult<SlaveTable>> AddSlaveAsync(SlaveDto sensor);

    Task<ApiResult<SlaveTable>> UpdateSlaveAsync(SlaveDto sensor);

    Task<ApiResult<SlaveDto>> DeleteSlaveAsync(int Id);
}